<!DOCTYPE html>
<html CN>







<head>
	
	
	<link rel="stylesheet" href="/css/allinone.min.css"> 

	
	<!-- Global Site Tag (gtag.js) - Google Analytics -->
	<script async src="https://www.googletagmanager.com/gtag/js?id=UA-42863699-1"></script>
	<script>
		window.dataLayer = window.dataLayer || [];
		function gtag(){dataLayer.push(arguments);}
		gtag('js', new Date());
		gtag('config', 'UA-42863699-1');
	</script>
	

	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge" />

	<title>virtualbox 常用网络模式解释和配置 | Cizixs Write Here</title>

	<meta name="HandheldFriendly" content="True" />
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
	<meta name="generator" content="hexo">
	<meta name="author" content="Cizixs Wu">
	<meta name="description" content="">

	
	<meta name="keywords" content="">
	

	
	<link rel="shortcut icon" href="https://cizixs-blog.oss-cn-beijing.aliyuncs.com/006tNc79ly1g1qxfovpzyj30740743yg.jpg">
	

	
	<meta name="theme-color" content="#3c484e">
	<meta name="msapplication-TileColor" content="#3c484e">
	

	

	

	<meta property="og:site_name" content="Cizixs Write Here">
	<meta property="og:type" content="article">
	<meta property="og:title" content="virtualbox 常用网络模式解释和配置 | Cizixs Write Here">
	<meta property="og:description" content="">
	<meta property="og:url" content="http://cizixs.com/2017/03/09/virtualbox-network-mode-explained/">

	
	<meta property="article:published_time" content="2017-03-09T00:03:00+08:00"/> 
	<meta property="article:author" content="Cizixs Wu">
	<meta property="article:published_first" content="Cizixs Write Here, /2017/03/09/virtualbox-network-mode-explained/" />
	

	
	
	<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
	

	
	<script src="https://cdn.staticfile.org/highlight.js/9.10.0/highlight.min.js"></script>
	

	
	
<link rel="stylesheet" href="/css/prism-base16-ateliersulphurpool.light.css" type="text/css"></head>
<body class="post-template">
    <div class="site-wrapper">
        




<header class="site-header outer" style="z-index: 999">
    <div class="inner">
        
<nav class="site-nav"> 
    <div class="site-nav-left">
        <ul class="nav">
            <li>
                
                <a href="/" title="Home">Home</a>
                
            </li>
            
            
            <li>
                <a href="/about" title="About">About</a>
            </li>
            
            <li>
                <a href="/archives" title="Archives">Archives</a>
            </li>
            
            
        </ul> 
    </div>
    <div class="site-nav-right">
        
<div class="social-links" >
    
    <a class="social-link" title="weibo" href="https://weibo.com/1921727853" target="_blank" rel="noopener">
        <svg viewBox="0 0 1141 1024" xmlns="http://www.w3.org/2000/svg"><path d="M916.48 518.144q27.648 21.504 38.912 51.712t9.216 62.976-14.336 65.536-31.744 59.392q-34.816 48.128-78.848 81.92t-91.136 56.32-94.72 35.328-89.6 18.944-75.264 7.68-51.712 1.536-49.152-2.56-68.096-10.24-78.336-21.504-79.872-36.352-74.24-55.296-59.904-78.848q-16.384-29.696-22.016-63.488t-5.632-86.016q0-22.528 7.68-51.2t27.136-63.488 53.248-75.776 86.016-90.112q51.2-48.128 105.984-85.504t117.248-57.856q28.672-10.24 63.488-11.264t57.344 11.264q10.24 11.264 19.456 23.04t12.288 29.184q3.072 14.336 0.512 27.648t-5.632 26.624-5.12 25.6 2.048 22.528q17.408 2.048 33.792-1.536t31.744-9.216 31.232-11.776 33.28-9.216q27.648-5.12 54.784-4.608t49.152 7.68 36.352 22.016 17.408 38.4q2.048 14.336-2.048 26.624t-8.704 23.04-7.168 22.016 1.536 23.552q3.072 7.168 14.848 13.312t27.136 12.288 32.256 13.312 29.184 16.384zM658.432 836.608q26.624-16.384 53.76-45.056t44.032-64 18.944-75.776-20.48-81.408q-19.456-33.792-47.616-57.344t-62.976-37.376-74.24-19.968-80.384-6.144q-78.848 0-139.776 16.384t-105.472 43.008-72.192 60.416-38.912 68.608q-11.264 33.792-6.656 67.072t20.992 62.976 42.496 53.248 57.856 37.888q58.368 25.6 119.296 32.256t116.224 0.512 100.864-21.504 74.24-33.792zM524.288 513.024q20.48 8.192 38.912 18.432t32.768 27.648q10.24 12.288 17.92 30.72t10.752 39.424 1.536 42.496-9.728 38.912q-8.192 18.432-19.968 37.376t-28.672 35.328-40.448 29.184-57.344 18.944q-61.44 11.264-117.76-11.264t-88.064-74.752q-12.288-39.936-13.312-70.656t16.384-66.56q13.312-27.648 40.448-51.712t62.464-38.912 75.264-17.408 78.848 12.8zM361.472 764.928q37.888 3.072 57.856-18.432t21.504-48.128-15.36-47.616-52.736-16.896q-27.648 3.072-43.008 23.552t-17.408 43.52 9.728 42.496 39.424 21.504zM780.288 6.144q74.752 0 139.776 19.968t113.664 57.856 76.288 92.16 27.648 122.88q0 33.792-16.384 50.688t-35.328 17.408-35.328-14.336-16.384-45.568q0-40.96-22.528-77.824t-59.392-64.512-84.48-43.52-96.768-15.872q-31.744 0-47.104-15.36t-14.336-34.304 18.944-34.304 51.712-15.36zM780.288 169.984q95.232 0 144.384 48.64t49.152 146.944q0 30.72-10.24 43.52t-22.528 11.264-22.528-14.848-10.24-35.84q0-60.416-34.816-96.256t-93.184-35.84q-19.456 0-28.672-10.752t-9.216-23.04 9.728-23.04 28.16-10.752z" /></svg>
    </a>
    

    
    <a class="social-link" title="github" href="https://github.com/cizixs" target="_blank" rel="noopener">
        <svg viewBox="0 0 1049 1024" xmlns="http://www.w3.org/2000/svg"><path d="M524.979332 0C234.676191 0 0 234.676191 0 524.979332c0 232.068678 150.366597 428.501342 358.967656 498.035028 26.075132 5.215026 35.636014-11.299224 35.636014-25.205961 0-12.168395-0.869171-53.888607-0.869171-97.347161-146.020741 31.290159-176.441729-62.580318-176.441729-62.580318-23.467619-60.841976-58.234462-76.487055-58.234463-76.487055-47.804409-32.15933 3.476684-32.15933 3.476685-32.15933 53.019436 3.476684 80.83291 53.888607 80.83291 53.888607 46.935238 79.963739 122.553122 57.365291 152.97411 43.458554 4.345855-33.897672 18.252593-57.365291 33.028501-70.402857-116.468925-12.168395-239.022047-57.365291-239.022047-259.012982 0-57.365291 20.860106-104.300529 53.888607-140.805715-5.215026-13.037566-23.467619-66.926173 5.215027-139.067372 0 0 44.327725-13.906737 144.282399 53.888607 41.720212-11.299224 86.917108-17.383422 131.244833-17.383422s89.524621 6.084198 131.244833 17.383422C756.178839 203.386032 800.506564 217.29277 800.506564 217.29277c28.682646 72.1412 10.430053 126.029806 5.215026 139.067372 33.897672 36.505185 53.888607 83.440424 53.888607 140.805715 0 201.64769-122.553122 245.975415-239.891218 259.012982 19.121764 16.514251 35.636014 47.804409 35.636015 97.347161 0 70.402857-0.869171 126.898978-0.869172 144.282399 0 13.906737 9.560882 30.420988 35.636015 25.205961 208.601059-69.533686 358.967656-265.96635 358.967655-498.035028C1049.958663 234.676191 814.413301 0 524.979332 0z" /></svg>
    </a>
    

    
    <a class="social-link" title="stackoverflow" href="https://stackoverflow.com/users/1925083/cizixs" target="_blank" rel="noopener">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M15 21h-10v-2h10v2zm6-11.665l-1.621-9.335-1.993.346 1.62 9.335 1.994-.346zm-5.964 6.937l-9.746-.975-.186 2.016 9.755.879.177-1.92zm.538-2.587l-9.276-2.608-.526 1.954 9.306 2.5.496-1.846zm1.204-2.413l-8.297-4.864-1.029 1.743 8.298 4.865 1.028-1.744zm1.866-1.467l-5.339-7.829-1.672 1.14 5.339 7.829 1.672-1.14zm-2.644 4.195v8h-12v-8h-2v10h16v-10h-2z"/></svg>
    </a>
    

    

    
    <a class="social-link" title="twitter" href="https://twitter.com/cizixs" target="_blank" rel="noopener">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.063 7.313c-.813 1.125-1.75 2.125-2.875 2.938v.75c0 1.563-.188 3.125-.688 4.625a15.088 15.088 0 0 1-2.063 4.438c-.875 1.438-2 2.688-3.25 3.813a15.015 15.015 0 0 1-4.625 2.563c-1.813.688-3.75 1-5.75 1-3.25 0-6.188-.875-8.875-2.625.438.063.875.125 1.375.125 2.688 0 5.063-.875 7.188-2.5-1.25 0-2.375-.375-3.375-1.125s-1.688-1.688-2.063-2.875c.438.063.813.125 1.125.125.5 0 1-.063 1.5-.25-1.313-.25-2.438-.938-3.313-1.938a5.673 5.673 0 0 1-1.313-3.688v-.063c.813.438 1.688.688 2.625.688a5.228 5.228 0 0 1-1.875-2c-.5-.875-.688-1.813-.688-2.75 0-1.063.25-2.063.75-2.938 1.438 1.75 3.188 3.188 5.25 4.25s4.313 1.688 6.688 1.813a5.579 5.579 0 0 1 1.5-5.438c1.125-1.125 2.5-1.688 4.125-1.688s3.063.625 4.188 1.813a11.48 11.48 0 0 0 3.688-1.375c-.438 1.375-1.313 2.438-2.563 3.188 1.125-.125 2.188-.438 3.313-.875z"/></svg>

    </a>
    

    
    <a class="social-link" title="instagram" href="https://www.instagram.com/cizixs/" target="_blank" rel="noopener">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg>
    </a>
    
    
    
</div>
    </div>
</nav>
    </div>
</header>


<main id="site-main" class="site-main outer" role="main">
    <div class="inner">
        <header class="post-full-header">
            <section class="post-full-meta">
                <time  class="post-full-meta-date" datetime="2017-03-08T16:00:00.000Z" itemprop="datePublished">
                    2017-03-9
                </time>
                
                <span class="date-divider">/</span>
                
                <a href="/categories/blog/">blog</a>&nbsp;&nbsp;
                
                
            </section>
            <h1 class="post-full-title">virtualbox 常用网络模式解释和配置</h1>
        </header>
        <article class="post-full no-image">
            
            <section class="post-full-content">
                <div id="lightgallery" class="markdown-body">
                    <h2 id="介绍"><a href="#介绍" class="headerlink" title="介绍"></a>介绍</h2><p>默认情况下，virtualbox 创建的虚拟机网络为 <code>NAT</code> 模式，这样虚拟机就可以通过主机的网络连接到外部网络。如果需要直接访问虚拟机网络，可以通过端口转发机制。</p>
<p>但是除了默认的网络配置，virtualbox 还提供了其他网络选项来实现用户各种各样的需求。创建网络的时候，有两类配置要做：</p>
<ul>
<li>网卡的硬件类型</li>
<li>网卡的网络模式</li>
</ul>
<p>virtualbox 每台虚拟机支持多块虚拟网卡，每块网络都可以配置不同的网络模式。</p>
<h2 id="网卡类型"><a href="#网卡类型" class="headerlink" title="网卡类型"></a>网卡类型</h2><p>virtualbox 支持多种虚拟网卡类型，选择对应的网卡需要主机有对应的网卡驱动。如果对网卡没有特殊的需求，使用默认就可以了。</p>
<ul>
<li>AMD PCNet PCI II (Am79C970A)</li>
<li>AMD PCNet FAST III (Am79C973, the default)</li>
<li>Intel PRO/1000 MT Desktop (82540EM)</li>
<li>Intel PRO/1000 T Server (82543GC)</li>
<li>Intel PRO/1000 MT Server (82545EM)</li>
<li>Paravirtualized network adapter (virtio-net)</li>
</ul>
<h2 id="四种模式"><a href="#四种模式" class="headerlink" title="四种模式"></a>四种模式</h2><p>每块网卡都可以运行在不同的网络模式下，它们的功能不太相同，这个部分就介绍不同网络模式的区别。我们会介绍命令行的操作实现，每种模式都可以通过 virtualbox GUI 界面配置，因为配置起来比较简单，这篇文章将不会介绍具体步骤。</p>
<h3 id="Not-Attached"><a href="#Not-Attached" class="headerlink" title="Not Attached"></a>Not Attached</h3><p>有网卡，但是没有连接网线。这种情况类似于服务器没有连接网线的情况，因此也就无法访问网络。一般不会使用这种情况，也没有需要特殊说明的地方。</p>
<h3 id="Network-Address-Translatoin-NAT"><a href="#Network-Address-Translatoin-NAT" class="headerlink" title="Network Address Translatoin(NAT)"></a>Network Address Translatoin(NAT)</h3><p><img src="http://78rcxs.com1.z0.glb.clouddn.com/NAT.png" alt=""></p>
<p>默认的网络模式，不需要任何主机或者虚拟机上的设置。能满足虚拟机连接外网的需求，可以简单认为 virtualbox 充当了虚拟机和外部网络的路由器，会自动转发虚拟的报文。</p>
<p>虚拟机发出去的报文，会被 virtualbox NAT 引擎拦截，抽取其中的 TCP/IP 数据，然后用主机的网络进行发送，对于外部网络来说，它们看到这个报文是主机发送的。virtualbox 还会自动监听响应报文，然后把目标地址修改成虚拟机的地址，这样虚拟机就能收到应答报文。</p>
<p>这个模式下，网络的 ip 是通过 virtualbox 自带的 DHCP Server 分配的。virtualbox 会保证虚拟机 ip 和 主机不冲突，默认情况下，第一个网卡的地址范围是 <code>10.0.2.0/24</code>，第二个网卡的地址范围是 <code>10.0.3.0/24</code>，以此类推。如果需要修改这个地址范围，可以通过 <code>VBoxManage</code> 命令</p>
<pre class=" language-bash"><code class="language-bash">VBoxManage modifyvm <span class="token string">"vmname"</span> --natnet1 <span class="token string">"192.168/16"</span>`
</code></pre>
<p>这条命令行就是把 vmname 虚拟机的第一个 nat 网卡地址修改为 <code>192.168/16</code> 网段。</p>
<p>举个例子：在我本地机器上，NAT 网卡的地址是 <code>10.0.2.15/24</code>，网关地址是 <code>10.0.2.2</code>，DHCP server 的地址是 <code>10.0.2.3</code>。</p>
<p>虚拟机之间的网络是不连通的，而且外部网络无法直接访问虚拟机网络。如果需要在虚拟机里提供服务，需要使用端口转发的功能。端口转发：如果要访问虚拟机的某个端口， virtualbox 会在主机上选择一个端口和虚拟机端口进行匹配（两个端口可以不同），要访问虚拟机服务，直接访问主机 ip 地址和主机开放的端口就行。比如一般情况下，虚拟机会通过开启 ssh 的端口转发，方便从主机上通过 ssh 连接到虚拟机。</p>
<p>端口转发需要使用者记住端口的使用情况，只要端口没有被占用就能进行转发。可以通过命令行添加端口转发的规则：</p>
<pre class=" language-bash"><code class="language-bash">VBoxManage modifyvm <span class="token string">"VM name"</span> --natpf1 <span class="token string">"guestssh,tcp,,2222,,22"</span>
</code></pre>
<p>比如这条命令就是给虚拟机添加一条规则，所有发到主机 <code>2222</code> 端口的报文都要转发到虚拟机的 <code>22</code> 端口。<code>--natpf</code> 后面的数字代表这个规则是作用于第一块网卡的，最后一个参数的各个字段含义是：</p>
<ol>
<li>转发规则的名字。如果没有指定，virtualbox 会自动生成一个名字</li>
<li>报文类型。支持 tcp、udp</li>
<li>主机地址。如果不填写，不论主机哪个网卡收到 <code>2222</code> 都要转发；如果有填写，则指定某个网卡收到 <code>2222</code> 端口的报文才转发。比如 <code>127.0.0.1,2222</code> 说明只转发本地的报文</li>
<li>主机端口。监听的主机端口</li>
<li>虚拟机地址。如果虚拟机不是 DHCP server 分配的，需要告诉 virtualbox 虚拟机网卡的 ip 地址</li>
<li>虚拟机端口。虚拟机内部提供服务的端口，报文会转发到这个端口</li>
</ol>
<p>删除端口转发规则也是类似，区别是提供规则名称就行：</p>
<pre class=" language-bash"><code class="language-bash">VBoxManage modifyvm <span class="token string">"VM name"</span> --natpf1 delete <span class="token string">"guestssh"</span>
</code></pre>
<p><strong>NOTE</strong>：不要指定主机的小于 1024 的端口号，因为在 linux 机器上只有 root 权限才能使用这些端口。容易造成冲突，而且权限问题会导致虚拟机无法启动。</p>
<h3 id="Bridge-Networking"><a href="#Bridge-Networking" class="headerlink" title="Bridge Networking"></a>Bridge Networking</h3><p><img src="http://78rcxs.com1.z0.glb.clouddn.com/Bridged.png" alt=""></p>
<p>bridged 网络模式是把虚拟机放到和主机同一个网络上。每个虚拟机必须要指定某个网卡作为父亲节点。</p>
<p>虚拟机的网络和主机的网络完全一样，如果主机是 DHCP 分配的 ip，虚拟机也需要自动去 DHCP server 分配 ip 地址。</p>
<p>虚拟机之间能够互相联通，虚拟机和主机也是直接联通的，不需要任何的转发。</p>
<h3 id="Internal-Networking"><a href="#Internal-Networking" class="headerlink" title="Internal Networking"></a>Internal Networking</h3><p><img src="http://78rcxs.com1.z0.glb.clouddn.com/Internal.png" alt=""></p>
<p>Internal 网络模式和 Bridged 模式很相似，只不过这些虚拟机只能和同主机通模式下的其他虚拟机联通，无法访问外网。</p>
<p>这种模式有个很好的优势就是安全性比较高，主机是无法直接看到虚拟机网络报文的。</p>
<p>virtualbox 就是个交换机，连接着主机上该网络模式下连接到同个 internal 网络的虚拟机。虚拟机之间通过 virtualbox 之间通信，virtualbox 不会把报文发送到外部。</p>
<p>网络 Internal 是通过名字识别的，添加网卡的时候必须选择网络名字，网络名称相同的虚拟机会自动连接到同一个 Internal 网络。</p>
<p>如果希望通过命令行来实现也是可以的：</p>
<pre class=" language-bash"><code class="language-bash">VBoxManage modifyvm <span class="token string">"VM name"</span> --nic<span class="token operator">&lt;</span>x<span class="token operator">></span> intnet
</code></pre>
<p>这个命令会把虚拟机的第 <code>x</code> 块网卡加入到默认的 internal 网络 <code>intnet</code> 中。</p>
<p>或者你也可以指定一个 internal network 名字</p>
<pre class=" language-bash"><code class="language-bash">VBoxManage modifyvm <span class="token string">"VM name"</span> --intnet<span class="token operator">&lt;</span>x<span class="token operator">></span> <span class="token string">"networkname"</span>
</code></pre>
<p>这个命令把虚拟机的第 <code>x</code> 块网卡设置为 internal 网络模式，并加入到 <code>networkname</code> 的网络中。</p>
<p>虚拟机的 ip 地址可以手动配置，也可以通过 DHCP Server 自动获取。</p>
<h3 id="Host-only-Networking"><a href="#Host-only-Networking" class="headerlink" title="Host-only Networking"></a>Host-only Networking</h3><p><img src="http://78rcxs.com1.z0.glb.clouddn.com/Host-Only.png" alt=""></p>
<p>这种模式会在主机上创建一个虚拟的网卡（比如 <code>vboxnet0</code>），然后通过这个网卡把虚拟机连接起来。这种模式比较常用的需求是多个虚拟机需要共同协作提供服务，因为连接到相同 Host-Only 模式的虚拟机是可以直接通信的，而且主机可以直接访问这个服务，方便开发和测试。</p>
<p>要把虚拟机加入到 Host-Only 网络中，首先要创建对应的 Host-only 虚拟网卡。下面的命令行可以实现：</p>
<pre class=" language-bash"><code class="language-bash">VBoxManage hostonlyif create
VBoxManage modifyvm <span class="token string">"VM name"</span> --nic<span class="token operator">&lt;</span>x<span class="token operator">></span> hostonly
</code></pre>
<p>第一个命令创建一个 Host-Only 网络的虚拟网卡，第二个命令把虚拟机加入到 Host-Only 网络中。</p>
<p>你可以手动配置 Host-Only 虚拟网卡以及虚拟机的 ip 地址，也可以使用 Virtualbox 提供的 DHCP Server：</p>
<pre class=" language-bash"><code class="language-bash">VBoxManage dhcpserver add --ifname <span class="token operator">&lt;</span>hostonly_if_name<span class="token operator">></span> \
    --ip <span class="token operator">&lt;</span>dhcp-server-ip<span class="token operator">></span> \
    --netmask <span class="token operator">&lt;</span>netmask-address<span class="token operator">></span> \
    --lowerip <span class="token operator">&lt;</span>dhcp-lower-ip<span class="token operator">></span> \
    --upperip <span class="token operator">&lt;</span>dhcp-upper-ip<span class="token operator">></span> \
    --enable
</code></pre>
<h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>我们上面介绍了每种模式下网络的用法，看起来每种模式都很简单。强大之处在于，这些模式是可以结合起来使用的。每台虚拟机都可以配置多块网卡，根据实际的需要，把每块网络配置成不同的模式，可以形成非常复杂的网络拓扑结构。</p>
<p>最后，我们用一张图表总结不同模式的区别，这张表展示了不同网络模式下虚拟机各种情况的连通性：</p>
<table>
<thead>
<tr>
<th>模式</th>
<th>NAT</th>
<th>Bridged</th>
<th>Internal</th>
<th>Host-Only   </th>
</tr>
</thead>
<tbody>
<tr>
<td>虚拟机 -&gt; 主机</td>
<td>可以</td>
<td>可以</td>
<td>不可以</td>
<td>可以</td>
</tr>
<tr>
<td>主机 -&gt; 虚拟机</td>
<td>不可以</td>
<td>可以</td>
<td>不可以</td>
<td>可以</td>
</tr>
<tr>
<td>虚拟机 -&gt; 其他主机</td>
<td>可以</td>
<td>可以</td>
<td>不可以</td>
<td>可以</td>
</tr>
<tr>
<td>其他主机 -&gt; 主机</td>
<td>不可以</td>
<td>可以</td>
<td>不可以</td>
<td>不可以</td>
</tr>
<tr>
<td>虚拟机之间</td>
<td>不可以</td>
<td>可以</td>
<td>同网络可以</td>
<td>可以</td>
</tr>
</tbody>
</table>
<h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><ul>
<li><a href="https://www.virtualbox.org/manual/ch06.html" target="_blank" rel="noopener">Virtualbox User Manual: Chapter 6. Virtual networking</a></li>
<li><a href="https://www.thomas-krenn.com/en/wiki/Network_Configuration_in_VirtualBox" target="_blank" rel="noopener">Network Configuration in VirtualBox</a></li>
<li><a href="https://www.cnblogs.com/york-hust/archive/2012/03/29/2422911.html" target="_blank" rel="noopener">快速理解VirtualBox的四种网络连接方式</a></li>
</ul>

                </div>
            </section>
        </article>
    </div>
    
<nav class="pagination">
    
    
    <a class="prev-post" title="kubernetes 简介：调度器和调度算法" href="/2017/03/10/kubernetes-intro-scheduler/">
        ← kubernetes 简介：调度器和调度算法
    </a>
    
    <span class="prev-next-post">•</span>
    
    <a class="next-post" title="flask 源码解析：session" href="/2017/03/08/flask-insight-session/">
        flask 源码解析：session →
    </a>
    
    
</nav>

    <div class="inner">
    <!-- Begin Mailchimp Signup Form -->
    <link href="//cdn-images.mailchimp.com/embedcode/classic-10_7.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    	#mc_embed_signup{background:#fff; clear:left; font:14px Helvetica,Arial,sans-serif; }
    	/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.
    	   We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
    </style>
    <div id="mc_embed_signup">
    <form action="https://cizixs.us7.list-manage.com/subscribe/post?u=2d561b8dea52d73a2e05e6dcb&amp;id=5c710f135b" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
        <div id="mc_embed_signup_scroll">
    	<h2>订阅本博客，第一时间收到文章更新</h2>
    <div class="indicates-required"><span class="asterisk">*</span> indicates required</div>
    <div class="mc-field-group">
    	<label for="mce-EMAIL">邮件地址  <span class="asterisk">*</span>
    </label>
    	<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
    </div>
    	<div id="mce-responses" class="clear">
    		<div class="response" id="mce-error-response" style="display:none"></div>
    		<div class="response" id="mce-success-response" style="display:none"></div>
    	</div>    <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
        <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_2d561b8dea52d73a2e05e6dcb_5c710f135b" tabindex="-1" value=""></div>
        <div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
        </div>
    </form>
    </div>
    <script type='text/javascript' src='//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js'></script><script type='text/javascript'>(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';}(jQuery));var $mcj = jQuery.noConflict(true);</script>
    <!--End mc_embed_signup-->
    </div>

    <div class="inner">
        <div id="disqus_thread"></div>
    </div>

    
</main>

<div class="t-g-control">
    <div class="gotop">
        <svg class="icon" width="32px" height="32px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M793.024 710.272a32 32 0 1 0 45.952-44.544l-310.304-320a32 32 0 0 0-46.4 0.48l-297.696 320a32 32 0 0 0 46.848 43.584l274.752-295.328 286.848 295.808z" fill="#8a8a8a" /></svg>
    </div>
    <div class="toc-control">
        <svg class="icon toc-icon" width="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M779.776 480h-387.2a32 32 0 0 0 0 64h387.2a32 32 0 0 0 0-64M779.776 672h-387.2a32 32 0 0 0 0 64h387.2a32 32 0 0 0 0-64M256 288a32 32 0 1 0 0 64 32 32 0 0 0 0-64M392.576 352h387.2a32 32 0 0 0 0-64h-387.2a32 32 0 0 0 0 64M256 480a32 32 0 1 0 0 64 32 32 0 0 0 0-64M256 672a32 32 0 1 0 0 64 32 32 0 0 0 0-64" fill="#8a8a8a" /></svg>
        <svg class="icon toc-close" style="display: none;" width="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 960c-247.039484 0-448-200.960516-448-448S264.960516 64 512 64 960 264.960516 960 512 759.039484 960 512 960zM512 128.287273c-211.584464 0-383.712727 172.128262-383.712727 383.712727 0 211.551781 172.128262 383.712727 383.712727 383.712727 211.551781 0 383.712727-172.159226 383.712727-383.712727C895.712727 300.415536 723.551781 128.287273 512 128.287273z" fill="#8a8a8a" /><path d="M557.05545 513.376159l138.367639-136.864185c12.576374-12.416396 12.672705-32.671738 0.25631-45.248112s-32.704421-12.672705-45.248112-0.25631l-138.560301 137.024163-136.447897-136.864185c-12.512727-12.512727-32.735385-12.576374-45.248112-0.063647-12.512727 12.480043-12.54369 32.735385-0.063647 45.248112l136.255235 136.671523-137.376804 135.904314c-12.576374 12.447359-12.672705 32.671738-0.25631 45.248112 6.271845 6.335493 14.496116 9.504099 22.751351 9.504099 8.12794 0 16.25588-3.103239 22.496761-9.247789l137.567746-136.064292 138.687596 139.136568c6.240882 6.271845 14.432469 9.407768 22.65674 9.407768 8.191587 0 16.352211-3.135923 22.591372-9.34412 12.512727-12.480043 12.54369-32.704421 0.063647-45.248112L557.05545 513.376159z" fill="#8a8a8a" /></svg>
    </div>
    <div class="gobottom">
        <svg class="icon" width="32px" height="32.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M231.424 346.208a32 32 0 0 0-46.848 43.584l297.696 320a32 32 0 0 0 46.4 0.48l310.304-320a32 32 0 1 0-45.952-44.544l-286.848 295.808-274.752-295.36z" fill="#8a8a8a" /></svg>
    </div>
</div>
<div class="toc-main" style="right: -100%">
    <div class="post-toc">
        <span>TOC</span>
        <ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#介绍"><span class="toc-text">介绍</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#网卡类型"><span class="toc-text">网卡类型</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#四种模式"><span class="toc-text">四种模式</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#Not-Attached"><span class="toc-text">Not Attached</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Network-Address-Translatoin-NAT"><span class="toc-text">Network Address Translatoin(NAT)</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Bridge-Networking"><span class="toc-text">Bridge Networking</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Internal-Networking"><span class="toc-text">Internal Networking</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#Host-only-Networking"><span class="toc-text">Host-only Networking</span></a></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#总结"><span class="toc-text">总结</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#参考资料"><span class="toc-text">参考资料</span></a></li></ol>
    </div>
</div>



        

<aside class="read-next outer">
    <div class="inner">
        <div class="read-next-feed">
            
            

<article class="read-next-card"  style="background-image: url(https://cizixs-blog.oss-cn-beijing.aliyuncs.com/006tNc79ly1g1qxcn9ft3j318w0txdo6.jpg)"  >
  <header class="read-next-card-header">
    <small class="read-next-card-header-sitetitle">&mdash; Cizixs Write Here &mdash;</small>
    <h3 class="read-next-card-header-title">Recent Posts</h3>
  </header>
  <div class="read-next-divider">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <path d="M13 14.5s2 3 5 3 5.5-2.463 5.5-5.5S21 6.5 18 6.5c-5 0-7 11-12 11C2.962 17.5.5 15.037.5 12S3 6.5 6 6.5s4.5 3.5 4.5 3.5"/>
    </svg>
  </div>
  <div class="read-next-card-content">
    <ul>
      
      
      
      <li>
        <a href="/2018/08/26/what-is-istio/">什么是 istio</a>
      </li>
      
      
      
      <li>
        <a href="/2018/08/25/knative-serverless-platform/">serverless 平台 knative 简介</a>
      </li>
      
      
      
      <li>
        <a href="/2018/06/25/kubernetes-resource-management/">kubernetes 资源管理概述</a>
      </li>
      
      
      
      <li>
        <a href="/2018/01/24/use-prometheus-and-grafana-to-monitor-linux-machine/">使用 promethues 和 grafana 监控自己的 linux 机器</a>
      </li>
      
      
      
      <li>
        <a href="/2018/01/13/linux-udp-packet-drop-debug/">linux 系统 UDP 丢包问题分析思路</a>
      </li>
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    </ul>
  </div>
  <footer class="read-next-card-footer">
    <a href="/archives">  MORE  → </a>
  </footer>
</article>


            
            
            
        </div>
    </div>
</aside>


<footer class="site-footer outer">

	<div class="site-footer-content inner">
		<section class="copyright">
			<a href="/" title="Cizixs Write Here">Cizixs Write Here</a>
			&copy; 2019
		</section>
		<nav class="site-footer-nav">
			
            <a href="https://hexo.io" title="Hexo" target="_blank" rel="noopener">Hexo</a>
            <a href="https://github.com/xzhih/hexo-theme-casper" title="Casper" target="_blank" rel="noopener">Casper</a>
        </nav>
    </div>
</footer>






<div class="floating-header" >
	<div class="floating-header-logo">
        <a href="/" title="Cizixs Write Here">
			
                <img src="https://cizixs-blog.oss-cn-beijing.aliyuncs.com/006tNc79ly1g1qxfovpzyj30740743yg.jpg" alt="Cizixs Write Here icon" />
			
            <span>Cizixs Write Here</span>
        </a>
    </div>
    <span class="floating-header-divider">&mdash;</span>
    <div class="floating-header-title">virtualbox 常用网络模式解释和配置</div>
    <progress class="progress" value="0">
        <div class="progress-container">
            <span class="progress-bar"></span>
        </div>
    </progress>
</div>
<script>
   $(document).ready(function () {
    var progressBar = document.querySelector('progress');
    var header = document.querySelector('.floating-header');
    var title = document.querySelector('.post-full-title');
    var lastScrollY = window.scrollY;
    var lastWindowHeight = window.innerHeight;
    var lastDocumentHeight = $(document).height();
    var ticking = false;

    function onScroll() {
        lastScrollY = window.scrollY;
        requestTick();
    }
    function requestTick() {
        if (!ticking) {
            requestAnimationFrame(update);
        }
        ticking = true;
    }
    function update() {
        var rect = title.getBoundingClientRect();
        var trigger = rect.top + window.scrollY;
        var triggerOffset = title.offsetHeight + 35;
        var progressMax = lastDocumentHeight - lastWindowHeight;
            // show/hide floating header
            if (lastScrollY >= trigger + triggerOffset) {
                header.classList.add('floating-active');
            } else {
                header.classList.remove('floating-active');
            }
            progressBar.setAttribute('max', progressMax);
            progressBar.setAttribute('value', lastScrollY);
            ticking = false;
        }

        window.addEventListener('scroll', onScroll, {passive: true});
        update();

        // TOC
        var width = $('.toc-main').width();
        $('.toc-control').click(function () {
            if ($('.t-g-control').css('width')=="50px") {
                if ($('.t-g-control').css('right')=="0px") {
                    $('.t-g-control').animate({right: width}, "slow");
                    $('.toc-main').animate({right: 0}, "slow");
                    toc_icon()
                } else {
                    $('.t-g-control').animate({right: 0}, "slow");
                    $('.toc-main').animate({right: -width}, "slow");
                    toc_icon()
                }
            } else {
                if ($('.toc-main').css('right')=="0px") {
                    $('.toc-main').slideToggle("fast", toc_icon());
                } else {
                    $('.toc-main').css('right', '0px');
                    toc_icon()
                }
            }
        })

        function toc_icon() {
            if ($('.toc-icon').css('display')=="none") {
                $('.toc-close').hide();
                $('.toc-icon').show();
            } else {
                $('.toc-icon').hide();
                $('.toc-close').show();
            }
        }

        $('.gotop').click(function(){
            $('html,body').animate({scrollTop:$('.post-full-header').offset().top}, 800);
        });
        $('.gobottom').click(function () {
            $('html,body').animate({scrollTop:$('.pagination').offset().top}, 800);
        });

        // highlight
        // https://highlightjs.org
        $('pre code').each(function(i, block) {
            hljs.highlightBlock(block);
        });
        $('td.code').each(function(i, block) {
            hljs.highlightBlock(block);
        });

        console.log("this theme is from https://github.com/xzhih/hexo-theme-casper")
    });
</script>



<link rel="stylesheet" href="https://cdn.staticfile.org/lightgallery/1.3.9/css/lightgallery.min.css">



<script src="https://cdn.staticfile.org/lightgallery/1.3.9/js/lightgallery.min.js"></script>


<script>
	$(function () {
		var postImg = $('#lightgallery').find('img');
		postImg.addClass('post-img');
		postImg.each(function () {
			var imgSrc = $(this).attr('src');
			$(this).attr('data-src', imgSrc);
		});
		$('#lightgallery').lightGallery({selector: '.post-img'});
	});
</script>



<script>

/**
*  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
*  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/

var disqus_config = function () {
this.page.url = 'http://cizixs.com/2017/03/09/virtualbox-network-mode-explained/';  // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = 'http://cizixs.com/2017/03/09/virtualbox-network-mode-explained/'; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};

(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://cizixs.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
                            


    </div>
</body>
</html>
